<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Lista_persona_lst( $this );

	class Lista_persona_lst extends Lst
	{
	function Lista_persona_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'lista_persona_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			
			$this->setTitle ( "Lista - Contactos"  );
			$this->setSummary( "Esta tabla contiene el detalle de las listas de contactos" );
			$this->addColumn ( 'Lista', 'cdLista', true );
			$this->addColumn ( 'Nombre', 'cNombre', true );
			$this->addColumn ( 'Apellido', 'cApellido', true );
		}
	function setLevel()
		{
			$this->aShowColumns = array_keys ( $this->aColumns );
			if ( array_key_exists( 'ncPersona' , $this->aFields ) )
			{
				unset($this->aShowColumns[array_search( 'Apellido',$this->aShowColumns)]);
				unset($this->aShowColumns[array_search( 'Nombre',$this->aShowColumns)]);
			}
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT LPe.ncLista, Lis.cdLista, Per.ncPersona, Per.cApellido, Per.cNombre, Per.cCelular
												FROM atPersona as Per
												JOIN atListaPersona as LPe
													ON LPe.ncPersona = Per.ncPersona
												JOIN atLista as Lis
													ON Lis.ncLista = LPe.ncLista";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "concat(cNombre, ' ', cApellido)" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray() , 'Per' );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$this->oModule->setBack();
			$cParametroRegistro =  $this->getFieldString();
			if ( $this->aFields['ncPersona'] )
			{
				$this->addListAction ( AGREGAR_UN_CONTACTO_A_UNA_LISTA, $cParametroRegistro, 'I', VENTANA_SECUNDARIA);
			}
			if ( $this->aFields['ncLista'] )
			{
				$this->addListAction ( AGREGAR_UN_CONTACTO_A_UNA_LISTA, $cParametroRegistro, 'I', VENTANA_SECUNDARIA);
			}
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncLista=" . $aRow["ncLista"] . "&amp;ncPersona=" . $aRow["ncPersona"] ;
			$this->addRowAction ( ELIMINAR_UN_CONTACTO_DE_UNA_LISTA, $cParametroRegistro );
		}
	}
?>
